package cn.lbd.arithmetic.leetcode.editor.cn;
//给定一个二叉树，返回它的中序 遍历。
//
// 示例: 
//
// 输入: [1,null,2,3]
//   1
//    \
//     2
//    /
//   3
//
//输出: [1,3,2] 
//
// 进阶: 递归算法很简单，你可以通过迭代算法完成吗？ 
// Related Topics 栈 树 哈希表 
// 👍 757 👎 0


//leetcode submit region begin(Prohibit modification and deletion)

import java.util.ArrayList;
import java.util.List;

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */

//class Solution94 {
//    public static List<Integer> inorderTraversal(TreeNode root) {
//        List<Integer> records = new ArrayList<>();
//        inOrder(root,records);
//        return records;
//    }
//
//    public static void inOrder(TreeNode root,List<Integer> records) {
//        if (root == null) {
//            return;
//        }
//        if (root.left != null) {
//            inOrder(root.left,records);
//        }
//        records.add(root.val);
//        if (root.right != null) {
//            inOrder(root.right,records);
//        }
//    }
//
//    public static void main(String[] args) {
//        TreeNode root = new TreeNode(1);
//        TreeNode node2 = new TreeNode(2);
//        TreeNode node3 = new TreeNode(3);
//        root.right = node2;
//        node2.left = node3;
//        System.out.println(inorderTraversal(root).toString());
//    }
//}
//leetcode submit region end(Prohibit modification and deletion)
